Особенность данной книги в подаче материала. Автор решил, что в учебнике не будет глав с чистой теорией, а поделил всю книгу на 52 упражнения. По мере продвижения вы познакомитесь со внутренней работой программ, узнаете, как выглядят хорошие программы, научитесь читать, писать и обдумывать код. Кроме того, вы научитесь находить и исправлять свои ошибки.
Книга для опытных питонистов, которые решили освоить паттерны разработки на Python. Авторы структурировали изучение паттернов вокруг примера приложения, выстраивая его глава за главой. Прорабатывая материал книги, вы будете применять разработку через тестирование, фреймворк Flask, библиотеку pytest, а также Docker и Redis.
Эта книга познакомит вас с объектно-ориентированным программированием. Она пригодится как начинающим питонистам, уже освоившим основы языка, так и читателям с опытом программирования на других языках, так как в ней рассматривается много особенностей написания кода на Python.
Эта книга научит вас не только основам Python, но и умению думать как программист. Проходя главу за главой, вы будете учиться использовать программирование для решения различных задач, а это самый важный навык для разработчика.
Основательная книга для изучения Python (и программирования в целом) с нуля. В первой части рассмотрены основы языка (с примерами и упражнениями), а вторая посвящена созданию проектов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Пространство имён в Python гарантирует, что имена объектов в программе остаются уникальными и могут использоваться без конфликтов.
Рассмотрим основные типы пространств имён:
Пример:
x = 10 # Глобальное
def foo():
x = 5 # Локальное
print(x) # Выведет 5 (локальное)
foo()
print(x) # Выведет 10 (глобальное)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌀 Как работает yield в Python?
Когда вы пишете функцию с yield, она превращается в генератор.
Это не просто функция — это объект, который можно итерировать, и при каждой итерации он "просыпается", возвращает значение и снова засыпает.
Пример:
Вывод:
Подробнее тут.
Важно: yield не только возвращает значение, но и сохраняет состояние функции.
Это значит, что переменные не сбрасываются, цикл не начинается с начала — выполнение продолжается с того же места.
Зачем это нужно?
🟠 Работать с большими объёмами данных
🟠 Писать "ленивый" код, который экономит память
🟠 Делать асинхронные пайплайны и обработчики
Крч если хочешь писать код, который не захлёбывается от объёмов — генераторы тебе в помощь😢
Когда вы пишете функцию с yield, она превращается в генератор.
Это не просто функция — это объект, который можно итерировать, и при каждой итерации он "просыпается", возвращает значение и снова засыпает.
Пример:
def squares():
for i in range(3):
yield i * i
for x in squares():
print(x)
Вывод:
0
1
4
Подробнее тут.
Важно: yield не только возвращает значение, но и сохраняет состояние функции.
Это значит, что переменные не сбрасываются, цикл не начинается с начала — выполнение продолжается с того же места.
Зачем это нужно?
Крч если хочешь писать код, который не захлёбывается от объёмов — генераторы тебе в помощь
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача с кодом. Сколько чисел?
Напишите функцию, которая будет принимать вложенный список и возвращать общее количество чисел в нем.
Вложенный список может содержать числа, строки и пустые списки.
Примеры:
Решение на нашем сайте.
#задача #coding
Напишите функцию, которая будет принимать вложенный список и возвращать общее количество чисел в нем.
Вложенный список может содержать числа, строки и пустые списки.
Примеры:
count_number([["", 17.2, 5, "edabit"]]) ➞ 2
# 17.2 и 5.
count_number([[[[[2, 14]]], 2, 3, 4]]) ➞ 5
# 2, 14, 2, 3 и 4.
count_number([["number"]]) ➞ 0
Решение на нашем сайте.
#задача #coding
Tips & Tricks. Чтение YAML-файлов в Python
Рассказываем, как читать файлы YAML в Python, а точнее — как это делается при помощи модуля PyYAML.
Читать статью
#модули #tipsandtricks
Рассказываем, как читать файлы YAML в Python, а точнее — как это делается при помощи модуля PyYAML.
Читать статью
#модули #tipsandtricks
Задача на логику. Улитка
Улитка хочет добраться до водоема, но для этого ей нужно взобраться на стену (высота — 30 футов). Каждый час улитка может подняться на 3 фута, но, взобравшись, сползает на 2. За сколько времени улитка взберется на 30-футовую стену?
Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.
#логическаязадача
Улитка хочет добраться до водоема, но для этого ей нужно взобраться на стену (высота — 30 футов). Каждый час улитка может подняться на 3 фута, но, взобравшись, сползает на 2. За сколько времени улитка взберется на 30-футовую стену?
Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.
#логическаязадача
Словари. Как добавить элемент в словарь
Статья для начинающих. Разбираем основы - работу словарей и добавление в них элементов.
#словари
Читать статью
Статья для начинающих. Разбираем основы - работу словарей и добавление в них элементов.
#словари
Читать статью
Привет, друзья! Собрали для вас подборку статей о том, как работает ООП в Python
1️⃣ Введение в объектно-ориентированное программирование (ООП)
2️⃣ Введение в объектно-ориентированное программирование: много клякс
3️⃣ Пять важных понятий, необходимых для быстрого старта в Python ООП
4️⃣ Топ вопросов по ООП с собеседований. Часть 1
5️⃣ Топ вопросов по ООП с собеседований. Часть 2
6️⃣ Почему все в Python является объектом?
7️⃣ Введение в объектно-ориентированное программирование: наследование
8️⃣ Принцип модульности ООП в Python
9️⃣ Введение в объектно-ориентированное программирование: создание среды для нашего объекта с Pygame
Сохраняйте и делитесь с друзьями!
Сохраняйте и делитесь с друзьями!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача с кодом. Количество списков внутри списка
Нужно написать функцию, возвращающую количество списков внутри списка.
Примеры:
Решение на нашем сайте.
#задача #coding
Нужно написать функцию, возвращающую количество списков внутри списка.
Примеры:
num_of_sublists([[1, 2, 3]])
➞ 1num_of_sublists([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
➞ 3 num_of_sublists([[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]])
➞ 4 num_of_sublists([1, 2, 3])
➞ 0Решение на нашем сайте.
#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье:
- Примитивный метод
- Функция
replace()
- Срезы и конкатенация
- Метод
join()
и генератор списков- Метод
translate()
#строки #tipsandtricks
Please open Telegram to view this post
VIEW IN TELEGRAM
Это как классический маркетинг, только вместо клиентов — кандидаты. Вам предстоит исследовать, как на воронку найма влияют разные каналы привлечения: рекламные кампании, DevRel, CRM-маркетинг, ивенты Weekend Offer и Fast Track.
Какие задачи вас ждут
Анализировать DevRel- и наймовые мероприятия, email-коммуникации и удовлетворённость кандидатов, выдвигать гипотезы, исследовать данные и искать в них инсайты. Для этого надо будет объединять и связывать данные из разных источников — от Яндекс Метрики до внешних рекламных кабинетов.
Оценивать, насколько хороши разные источники привлечения, как разные активности влияют на последующий наём напрямую и косвенно.
Создавать дэшборды в DataLens, оптимизировать запросы, моделировать чарты и делать отчётность понятной и удобной.
Мы ждём, что вы
— Окончили ВУЗ по технической или экономической специальности
— Строили сквозную аналитику с разными источниками данных и работали с тестированием гипотез и А/В-тестами
— Владеете SQL, Python и инструментами визуализации
— Умеете просто объяснять сложное: не только считать данные, но и рассказывать, как вы это сделали
Будет классно, если вы знаете маркетинговые метрики и работали с Яндекс Метрикой.
С нас как всегда: помимо интересных задач — ДМС, развитие, спорт, скидки и пр.
Please open Telegram to view this post
VIEW IN TELEGRAM